home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Freeware / Adobe Air 1.5 / AdobeAIRInstaller.exe / setup.swf / scripts / mx / skins / ProgrammaticSkin.as < prev    next >
Encoding:
Text File  |  2008-10-29  |  8.0 KB  |  288 lines

  1. package mx.skins
  2. {
  3.    import flash.display.Graphics;
  4.    import flash.geom.Matrix;
  5.    import mx.core.FlexShape;
  6.    import mx.core.IFlexDisplayObject;
  7.    import mx.core.IInvalidating;
  8.    import mx.core.IProgrammaticSkin;
  9.    import mx.core.UIComponentGlobals;
  10.    import mx.core.mx_internal;
  11.    import mx.managers.ILayoutManagerClient;
  12.    import mx.styles.ISimpleStyleClient;
  13.    import mx.styles.IStyleClient;
  14.    import mx.utils.GraphicsUtil;
  15.    
  16.    use namespace mx_internal;
  17.    
  18.    public class ProgrammaticSkin extends FlexShape implements IFlexDisplayObject, IInvalidating, ILayoutManagerClient, ISimpleStyleClient, IProgrammaticSkin
  19.    {
  20.       mx_internal static const VERSION:String = "3.0.0.0";
  21.       
  22.       private static var tempMatrix:Matrix = new Matrix();
  23.       
  24.       private var _initialized:Boolean = false;
  25.       
  26.       private var _height:Number;
  27.       
  28.       private var invalidateDisplayListFlag:Boolean = false;
  29.       
  30.       private var _styleName:IStyleClient;
  31.       
  32.       private var _nestLevel:int = 0;
  33.       
  34.       private var _processedDescriptors:Boolean = false;
  35.       
  36.       private var _updateCompletePendingFlag:Boolean = true;
  37.       
  38.       private var _width:Number;
  39.       
  40.       public function ProgrammaticSkin()
  41.       {
  42.          super();
  43.          _width = measuredWidth;
  44.          _height = measuredHeight;
  45.       }
  46.       
  47.       public function getStyle(param1:String) : *
  48.       {
  49.          return !!_styleName ? _styleName.getStyle(param1) : null;
  50.       }
  51.       
  52.       protected function updateDisplayList(param1:Number, param2:Number) : void
  53.       {
  54.       }
  55.       
  56.       public function get nestLevel() : int
  57.       {
  58.          return _nestLevel;
  59.       }
  60.       
  61.       public function set nestLevel(param1:int) : void
  62.       {
  63.          _nestLevel = param1;
  64.          invalidateDisplayList();
  65.       }
  66.       
  67.       override public function get height() : Number
  68.       {
  69.          return _height;
  70.       }
  71.       
  72.       public function get updateCompletePendingFlag() : Boolean
  73.       {
  74.          return _updateCompletePendingFlag;
  75.       }
  76.       
  77.       protected function verticalGradientMatrix(param1:Number, param2:Number, param3:Number, param4:Number) : Matrix
  78.       {
  79.          return rotatedGradientMatrix(param1,param2,param3,param4,90);
  80.       }
  81.       
  82.       public function validateSize(param1:Boolean = false) : void
  83.       {
  84.       }
  85.       
  86.       public function invalidateDisplayList() : void
  87.       {
  88.          if(!invalidateDisplayListFlag && nestLevel > 0)
  89.          {
  90.             invalidateDisplayListFlag = true;
  91.             UIComponentGlobals.mx_internal::layoutManager.invalidateDisplayList(this);
  92.          }
  93.       }
  94.       
  95.       public function set updateCompletePendingFlag(param1:Boolean) : void
  96.       {
  97.          _updateCompletePendingFlag = param1;
  98.       }
  99.       
  100.       protected function horizontalGradientMatrix(param1:Number, param2:Number, param3:Number, param4:Number) : Matrix
  101.       {
  102.          return rotatedGradientMatrix(param1,param2,param3,param4,0);
  103.       }
  104.       
  105.       override public function set height(param1:Number) : void
  106.       {
  107.          _height = param1;
  108.          invalidateDisplayList();
  109.       }
  110.       
  111.       public function set processedDescriptors(param1:Boolean) : void
  112.       {
  113.          _processedDescriptors = param1;
  114.       }
  115.       
  116.       public function validateDisplayList() : void
  117.       {
  118.          invalidateDisplayListFlag = false;
  119.          updateDisplayList(width,height);
  120.       }
  121.       
  122.       public function get measuredWidth() : Number
  123.       {
  124.          return 0;
  125.       }
  126.       
  127.       override public function set width(param1:Number) : void
  128.       {
  129.          _width = param1;
  130.          invalidateDisplayList();
  131.       }
  132.       
  133.       public function get measuredHeight() : Number
  134.       {
  135.          return 0;
  136.       }
  137.       
  138.       public function set initialized(param1:Boolean) : void
  139.       {
  140.          _initialized = param1;
  141.       }
  142.       
  143.       protected function drawRoundRect(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null, param6:Object = null, param7:Object = null, param8:Matrix = null, param9:String = "linear", param10:Array = null, param11:Object = null) : void
  144.       {
  145.          var _loc13_:Number = NaN;
  146.          var _loc14_:Array = null;
  147.          var _loc15_:Object = null;
  148.          var _loc12_:Graphics = graphics;
  149.          if(param3 == 0 || param4 == 0)
  150.          {
  151.             return;
  152.          }
  153.          if(param6 !== null)
  154.          {
  155.             if(param6 is uint)
  156.             {
  157.                _loc12_.beginFill(uint(param6),Number(param7));
  158.             }
  159.             else if(param6 is Array)
  160.             {
  161.                _loc14_ = param7 is Array ? param7 as Array : [param7,param7];
  162.                if(!param10)
  163.                {
  164.                   param10 = [0,255];
  165.                }
  166.                _loc12_.beginGradientFill(param9,param6 as Array,_loc14_,param10,param8);
  167.             }
  168.          }
  169.          if(!param5)
  170.          {
  171.             _loc12_.drawRect(param1,param2,param3,param4);
  172.          }
  173.          else if(param5 is Number)
  174.          {
  175.             _loc13_ = Number(param5) * 2;
  176.             _loc12_.drawRoundRect(param1,param2,param3,param4,_loc13_,_loc13_);
  177.          }
  178.          else
  179.          {
  180.             GraphicsUtil.drawRoundRectComplex(_loc12_,param1,param2,param3,param4,param5.tl,param5.tr,param5.bl,param5.br);
  181.          }
  182.          if(param11)
  183.          {
  184.             _loc15_ = param11.r;
  185.             if(_loc15_ is Number)
  186.             {
  187.                _loc13_ = Number(_loc15_) * 2;
  188.                _loc12_.drawRoundRect(param11.x,param11.y,param11.w,param11.h,_loc13_,_loc13_);
  189.             }
  190.             else
  191.             {
  192.                GraphicsUtil.drawRoundRectComplex(_loc12_,param11.x,param11.y,param11.w,param11.h,_loc15_.tl,_loc15_.tr,_loc15_.bl,_loc15_.br);
  193.             }
  194.          }
  195.          if(param6 !== null)
  196.          {
  197.             _loc12_.endFill();
  198.          }
  199.       }
  200.       
  201.       public function get processedDescriptors() : Boolean
  202.       {
  203.          return _processedDescriptors;
  204.       }
  205.       
  206.       public function set styleName(param1:Object) : void
  207.       {
  208.          if(_styleName != param1)
  209.          {
  210.             _styleName = param1 as IStyleClient;
  211.             invalidateDisplayList();
  212.          }
  213.       }
  214.       
  215.       public function setActualSize(param1:Number, param2:Number) : void
  216.       {
  217.          var _loc3_:Boolean = false;
  218.          if(_width != param1)
  219.          {
  220.             _width = param1;
  221.             _loc3_ = true;
  222.          }
  223.          if(_height != param2)
  224.          {
  225.             _height = param2;
  226.             _loc3_ = true;
  227.          }
  228.          if(_loc3_)
  229.          {
  230.             invalidateDisplayList();
  231.          }
  232.       }
  233.       
  234.       public function styleChanged(param1:String) : void
  235.       {
  236.          invalidateDisplayList();
  237.       }
  238.       
  239.       override public function get width() : Number
  240.       {
  241.          return _width;
  242.       }
  243.       
  244.       public function invalidateProperties() : void
  245.       {
  246.       }
  247.       
  248.       public function get initialized() : Boolean
  249.       {
  250.          return _initialized;
  251.       }
  252.       
  253.       protected function rotatedGradientMatrix(param1:Number, param2:Number, param3:Number, param4:Number, param5:Number) : Matrix
  254.       {
  255.          tempMatrix.createGradientBox(param3,param4,param5 * Math.PI / 180,param1,param2);
  256.          return tempMatrix;
  257.       }
  258.       
  259.       public function move(param1:Number, param2:Number) : void
  260.       {
  261.          this.x = param1;
  262.          this.y = param2;
  263.       }
  264.       
  265.       public function get styleName() : Object
  266.       {
  267.          return _styleName;
  268.       }
  269.       
  270.       public function validateNow() : void
  271.       {
  272.          if(invalidateDisplayListFlag)
  273.          {
  274.             validateDisplayList();
  275.          }
  276.       }
  277.       
  278.       public function invalidateSize() : void
  279.       {
  280.       }
  281.       
  282.       public function validateProperties() : void
  283.       {
  284.       }
  285.    }
  286. }
  287.  
  288.